package com.baiku.sanhos.utils;

import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class FileUtil {
    public static final String UPLOADS_PATH = "D:\\files\\imgs\\uploads\\";

    // 上传文件并返回URL
    public static String uploadFile(MultipartFile file) throws IOException {
        // TODO：添加代码检查文件大小（在此片段中未实现）

        // 获取文件后缀，例如jpeg、png、jpg、gif
        final String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf('.') + 1);

        // 生成唯一的文件名
        String fileName = UUID.randomUUID().toString().replace("-", "") + "." + fileSuffix;

        // 将文件写入指定位置
        File descFile = new File(UPLOADS_PATH, fileName);
        file.transferTo(descFile);

        // 生成并返回上传文件的URL
        String url = "/uploads/" + fileName;
        return url;
    }
    // 删除文件
    public static boolean deleteFile(String fileUrl) {
        // 从文件URL中提取文件名
        String fileName = fileUrl.substring(fileUrl.lastIndexOf('/') + 1);

        // 构建文件对象
        File file = new File(UPLOADS_PATH, fileName);

        // 判断文件是否存在并且是一个文件
        if (file.exists() && file.isFile()) {
            // 删除文件
            return file.delete();
        }

        return false;
    }
}
